# 写入文件
# with open('./text.txt', 'w', encoding='utf-8') as fp:
#     fp.write('123') # write只能写入字符串
#     fp.write(5211) # 报错
#     fp.writelines(['12', '34']) # writelines()写入容器类型数据，容器中的数据也必须是可写入的字符串类型

# 文件的读取
with open('./text.txt', 'r') as fp:
#     fp.seek(2) # 设置指针位置，字节长度，一个中文占三个字符
#     res = fp.read() # 默认从当前指针开始读取到最后
#     res = fp.read(2) # 读取的字节长度
#
#     res = fp.readline() # readline()一次只读取一行
#     1234
#     res2 = fp.readline(2) # 一次读取指定字节长度的内容
#     78
#     res = fp.readlines() # 读取所有行，返回一个列表，列表中每一个元素就是一行的内容
#     ['1234\n', '5678']
    res = fp.readlines(10) # 按照行进行读取，可以设置读取的字节数，设置的字节数不足一行按一行算

'''
文件对象.seek(n1[, n2])
    将文件指针的位置设置到n1的位置，默认不传递n2，即从前往后第n1的位置，
    如果传递n2 = 2 则表示指针从最后往前n1个位置
'''
# with open('./text.txt', 'a+') as fp:
#     # a+模式指针默认在最后
#     # 文件指针设知道文件的开头
#     fp.seek(0)
#     res = fp.read()

# truncate() 截断文件内容
# 默认从文件的首行的首个字符开始进行截断，截断的长度为size个字节数，
# size如果为0， 则从当前位置截断到最后
# with open('./text.txt', 'r+') as fp:
#     res = fp.truncate(2)
#     fp.write('\n45678')
#     fp.truncate(5)
print(res)




